﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using DAplicaciones1;
namespace persistencia
{
    public abstract class Broker
    {
        private ConBD conexion;

        protected ConBD Conexion
        {
            get { return conexion; }
            set { conexion = value; }
        }


        public static Broker crearBroker(Object o, ConBD conexion)
        {
            Broker b = null;    
                    
            if (o.GetType() == typeof(Usuario))
            {
                b = new BrUsuario();
            }

            if (o.GetType() == typeof(Libro))
            {
                b = new BrLibro();
            }

            if (o.GetType() == typeof(Cd))
            {
                b = new BrCd();
            }
            if (o.GetType() == typeof(Dvd))
            {
                b = new BrDvd();
            }

            if (o.GetType() == typeof(Magazine))
            {
                b = new BrMagazine();
            }

            if (o.GetType() == typeof(ContenidoRelacionado))
            {
                b = new BrContenidoRelacionado();
            }

            if (o.GetType() == typeof(AccesoOnline))
            {
                b = new BrAccesoOnline();
            }

            if (o.GetType() == typeof(Tiempo))
            {
                b = new BrTiempo();
            }

            if (o.GetType() == typeof(Gift))
            {
                b = new BrGift();
            }


            b.conexion = conexion;

            return b;

        }

        public abstract void agregar(Object o);

        public abstract void modificar(Object o);

        public abstract void eliminar(Object o);

        public abstract void traerDatos(Object o);

        public abstract ArrayList traerLista(Object o);


        
    }
}
